package review;

/**
 * 裴波那契数列的定义：他的第一项和第二项均为1，以后各项都为前两项的和。
 * 如： 1,1,2,3,5,8,13,21,34,55,89,144,233，~~~~
 */
public class 裴波那契数列 {

    /**
     * 方法一：求裴波那契数列第n项值
     * 递归
     */
    public static int fiboncciOne(int n) {
        if(n <= 2) {
            return 1;
        }
        return fiboncciOne(n - 1) + fiboncciOne(n - 2);
    }

    /**
     * 方法二：求裴波那契数列第n项值
     * for循环
     */
    public static int fiboncciTwo(int n) {
        if(n <= 0) {
            return -1;
        }
        if(n <= 2) {
            return 1;
        }
        int one = 1;
        int two = 1;
        int returnValue = 0;
        for (int i = 3; i <= n; i++) {
            returnValue = one + two;
            one = two;
            two = returnValue;
        }
        return returnValue;
    }



    public static void main(String[] args) {
        int fiboncci = fiboncciTwo(6);
        System.out.println(fiboncci);
    }
}
